@echo off
chcp 65001 >nul
echo ==========================================
echo QQ即时通信 - 中文显示完整诊断测试
echo ==========================================
echo.

echo 🔍 本工具将进行以下诊断和测试：
echo 1️⃣ 系统环境检查
echo 2️⃣ Java环境验证  
echo 3️⃣ 字符编码测试
echo 4️⃣ 字体支持检查
echo 5️⃣ 实际程序测试
echo.

echo === 第1步：系统环境检查 ===
echo 系统代码页：%~dp0
echo 当前代码页：
chcp
echo.

echo === 第2步：Java环境验证 ===
java -version
echo.
echo Java系统属性：
java -XshowSettings:properties -version 2>&1 | findstr "file.encoding\|user.language\|user.country"
echo.

echo === 第3步：编译项目 ===
call mvn compile -q
if %errorlevel% neq 0 (
    echo ❌ 编译失败！
    pause
    exit /b 1
)
echo ✅ 编译成功
echo.

echo === 第4步：字符编码强化设置 ===
set ENCODING_OPTS=-Dfile.encoding=UTF-8
set ENCODING_OPTS=%ENCODING_OPTS% -Dsun.jnu.encoding=UTF-8  
set ENCODING_OPTS=%ENCODING_OPTS% -Duser.language=zh
set ENCODING_OPTS=%ENCODING_OPTS% -Duser.country=CN
set ENCODING_OPTS=%ENCODING_OPTS% -Duser.variant=
set ENCODING_OPTS=%ENCODING_OPTS% -Djava.awt.useSystemAAFontSettings=on
set ENCODING_OPTS=%ENCODING_OPTS% -Dswing.aatext=true
set ENCODING_OPTS=%ENCODING_OPTS% -Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine

echo JVM编码参数：
echo %ENCODING_OPTS%
echo.

echo === 第5步：启动程序（请观察控制台调试信息）===
echo.
echo 📋 程序启动后请测试以下内容：
echo ✅ 发送普通中文消息：你好，这是测试
echo ✅ 发送带emoji消息：😊👍❤️🎉
echo ✅ 发送混合消息：中文English123😎
echo ✅ 发送长文本测试换行效果
echo.
echo 🔍 请注意观察控制台输出的以下调试信息：
echo - 字符编码设置完成信息
echo - MainWindow字符编码验证信息  
echo - 选择字体信息
echo - 消息内容调试信息（Unicode码点等）
echo.

echo 🚀 正在启动客户端...
java %ENCODING_OPTS% -cp target/classes com.qqim.client.ClientMain

echo.
echo === 诊断完成 ===
echo 如果中文仍显示异常，请截图控制台调试信息并报告问题。
echo.
pause 